/**
 * IngresosMiembro.java
 * Fecha de creación: 25/10/2013, 19:24:39
 */
package mx.adventista.tesoreria.modelo.entidad;

import java.io.Serializable;
import java.util.Date;

import mx.adventista.iglesia.modelo.entidad.Iglesia;
import mx.adventista.iglesia.modelo.entidad.Miembro;
import mx.adventista.tesoreria.modelo.catalogo.TipoOfrenda;
import mx.adventista.tesoreria.modelo.entidad.plantilla.OfrendaAsociacion;

/**
 * Representa un ingreso monetario por parte de un miembro de iglesia
 * @author Edgardo Zavala (edgardo.zavala@gmail.com)
 */

public class IngresosMiembro implements Serializable {
	private static final long serialVersionUID = -4119311153435423608L;

	private Long id;
	private Miembro miembro;
	private String numeroRecibo;
	private Double cantidad;
	private Date fechaIngresos;
	private Date fechaCaptura;
	private Iglesia iglesia;
	/**
	 * El tipo de ofrenda define si la cantidad se le asigna a algun Departamento (local), a
	 * alguna OfrendaAsociacion (Asociacion), o se distribuye en porcentajes locales y de
	 * asociación
	 */
	private TipoOfrenda tipoOfrenda;
	private Departamento departamento;
	private OfrendaAsociacion ofrendaAsociacion;

	/**
	 * @return el atributo id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id el id a actualizar
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return el atributo miembro
	 */
	public Miembro getMiembro() {
		return miembro;
	}

	/**
	 * @param miembro el miembro a actualizar
	 */
	public void setMiembro(Miembro miembro) {
		this.miembro = miembro;
	}

	/**
	 * @return el atributo numeroRecibo
	 */
	public String getNumeroRecibo() {
		return numeroRecibo;
	}

	/**
	 * @param numeroRecibo el numeroRecibo a actualizar
	 */
	public void setNumeroRecibo(String numeroRecibo) {
		this.numeroRecibo = numeroRecibo;
	}

	/**
	 * @return el atributo cantidad
	 */
	public Double getCantidad() {
		return cantidad;
	}

	/**
	 * @param cantidad el cantidad a actualizar
	 */
	public void setCantidad(Double cantidad) {
		this.cantidad = cantidad;
	}

	/**
	 * @return el atributo fechaIngresos
	 */
	public Date getFechaIngresos() {
		return fechaIngresos;
	}

	/**
	 * @param fechaIngresos el fechaIngresos a actualizar
	 */
	public void setFechaIngresos(Date fechaIngresos) {
		this.fechaIngresos = fechaIngresos;
	}

	/**
	 * @return el atributo fechaCaptura
	 */
	public Date getFechaCaptura() {
		return fechaCaptura;
	}

	/**
	 * @param fechaCaptura el fechaCaptura a actualizar
	 */
	public void setFechaCaptura(Date fechaCaptura) {
		this.fechaCaptura = fechaCaptura;
	}

	/**
	 * @return el atributo iglesia
	 */
	public Iglesia getIglesia() {
		return iglesia;
	}

	/**
	 * @param iglesia el iglesia a actualizar
	 */
	public void setIglesia(Iglesia iglesia) {
		this.iglesia = iglesia;
	}

	/**
	 * @return el atributo tipoOfrenda
	 */
	public TipoOfrenda getTipoOfrenda() {
		return tipoOfrenda;
	}

	/**
	 * @param tipoOfrenda el tipoOfrenda a actualizar
	 */
	public void setTipoOfrenda(TipoOfrenda tipoOfrenda) {
		this.tipoOfrenda = tipoOfrenda;
	}

	/**
	 * @return el atributo departamento
	 */
	public Departamento getDepartamento() {
		return departamento;
	}

	/**
	 * @param departamento el departamento a actualizar
	 */
	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	/**
	 * @return el atributo ofrendaAsociacion
	 */
	public OfrendaAsociacion getOfrendaAsociacion() {
		return ofrendaAsociacion;
	}

	/**
	 * @param ofrendaAsociacion el ofrendaAsociacion a actualizar
	 */
	public void setOfrendaAsociacion(OfrendaAsociacion ofrendaAsociacion) {
		this.ofrendaAsociacion = ofrendaAsociacion;
	}

	/*
	 * (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("IngresosMiembro [id=");
		builder.append(id);
		builder.append(", miembro=");
		builder.append(miembro);
		builder.append(", numeroRecibo=");
		builder.append(numeroRecibo);
		builder.append(", cantidad=");
		builder.append(cantidad);
		builder.append(", fechaIngresos=");
		builder.append(fechaIngresos);
		builder.append(", fechaCaptura=");
		builder.append(fechaCaptura);
		builder.append(", iglesia=");
		builder.append(iglesia);
		builder.append(", tipoOfrenda=");
		builder.append(tipoOfrenda);
		builder.append(", departamento=");
		builder.append(departamento);
		builder.append(", ofrendaAsociacion=");
		builder.append(ofrendaAsociacion);
		builder.append("]");
		return builder.toString();
	}

}
